1. Field of the Invention
The present invention relates to an information processing apparatus and method of controlling the same to automatically create and modify a workflow that defines a plurality of cooperating operations or processes.
2. Description of the Related Art
Multifunction peripherals (MFPs) that combine the functions of a printer, copier and facsimile, etc., have come into widespread use in recent years. Such a multifunction peripheral has a function that enables a plurality of operations (i.e. processing steps) to be executed as a single job in order to simplify user tasks in an office or the like. Since various forms of user tasks are conceivable, it is necessary to be able to define any combination of operations (such a combination being referred to as a “workflow” below). Since the creation of such a workflow is a complex process, the general practice is for an administrator to create the workflow using an editing tool of a client computer (referred to as a “personal computer” below) and to distribute the workflow to the multifunction peripheral. Since the user can thus execute the respective task by utilizing the distributed workflow, the efficiency of the operation is enhanced.
A process comprising the operations “read document→authenticate→transmit” is a specific example of a workflow that may be distributed to a multifunction peripheral. When a workflow is executed by a multifunction peripheral, first a utilization environment is provided in which log-in is performed by a user on a per-user basis. The multifunction peripheral is at this time in a state in which initial values of settings that can be configured in advance have been configured. Then, when the user is supplied with the workflow, the user sets the initial values of each operation that corresponds to a function of the MFP. An example of the setting of initial values is as follows: in the case of a “read document” function, the user designates the scanner reading conditions. In the case of an “authenticate” function, the user designates the user information to be logged into the server that is accessed. In the case of a “transmit” function, the user designates the destination of the transmission.
The specification of Japanese Patent Application Laid-Open No. 2003-203148 describes a system in which an administrator creates workflows made up of a series of related processes (each including at least one operation) using a tool on a personal computer and supplies the workflows as workflows containing a plurality of patterns; i.e. alternative processes containing permutations of available operations. A user selects and utilizes a desired workflow from the plurality of workflows supplied. As a result, it is possible for the user to utilize a workflow with a particular set of operations. As a result, it is no longer necessary to re-enter setting values (as they are already set) in a workflow having a high frequency of use, and the efficiency of the operation is improved while user convenience is enhanced.
With the prior art described above, however, a plurality of workflow patterns including several related processes have to be created and provided beforehand by the administrator even where ordinary operation is assumed. Accordingly, the administrator who creates, updates and manages workflows (or even the creator who creates the workflows) must create and manage a potentially large number of workflows. This imposes a heavy burden upon the administrator.
FIG. 6 describes a specific example for explaining the problem dealt with by the present invention.
A workflow (flow ID=1) 7001 is a workflow that has been created by an administrator and is capable of being executed by a multifunction peripheral. The workflow is divided into a plurality of operations in a regular order and the workflow defines the sequence of the operations and the processing content of each operation. Management of the workflow is such that when the processing of each operation ends and an end state (defined by an “end parameter”) is attained, the processing of the next operation begins. This is defined by a “start parameter”. This workflow 7001 forms the source of a call and is referred to as a “main flow” below. The main flow 7001, which is composed of a plurality of steps representing operations that will be carried out by the MFP, includes the steps of reading a document (step 1), authenticating (step 2) and transmitting (step 3). The main flow 7001 is capable of calling corresponding workflows. Each workflow called is referred to as a “subflow”. A subflow defines the units of a segmented operation, in which the processing of a prescribed operation has been segmented, and the subflow also defines the connection of the units to the main flow at the beginning and end of the segmented operation.
The “read document” operation (step 1) of the main flow 7001 represents a function of reading a document in the multifunction peripheral and the function generally comprises utilizing a scanner. A subflow 7002 indicates a subflow (flow ID=2) that is called by the authenticating step (step 2). This subflow 7002 includes a log-in step (step 1), a my address confirmation step (step 2) and an address book selection step (step 3). Subflow 7002 indicates the required processing for providing a function whereby a server, which supplies an e-mail function, acquires information managed on a per-user basis and executes user authentication. A subflow 7003 (flow ID=3) is called by the transmitting operation (step 3) of the main flow 7001. The subflow 7003 includes a “FROM” address designating step (step 1), a “TO” address designating step (step 2) and a document-name designating step (step 3). The subflow 7003 indicates the processing steps for setting information necessary in order to transmit an e-mail with an attached file to a server that provides an e-mail function. Thus, an administrator or creator creates the main flow 7001, which includes these subflows 7002, 7003, and then supplies the main flow 7001 to the multifunction peripheral that will execute the full workflow.
As a result, the user is capable of executing a workflow through a processing sequence that is in accordance with the main flow 7001, subflow 7002 and subflow 7003.
Next, an example in which the structure of such a workflow is modified will be described.
FIG. 7 is a diagram illustrating an example of modification of the workflow shown in FIG. 6. FIG. 7 differs from FIG. 6 in that in a subflow 8002 (ID=2−1) of FIG. 7, the address book selecting step (step 3) of the subflow 7002 in FIG. 6 has been omitted, and in that in a subflow 8003 (ID=3−1) in FIG. 7, the FROM address designating step (step 1) of the subflow 7003 in FIG. 6 has been omitted. When such a modification is made, the workflow administrator or creator creates the workflow comprising main flow 8001, subflow 8002 and subflow 8003 of the kind shown in FIG. 7 and then supplies this workflow to the multifunction peripheral. Thus, when the workflow administrator or creator modifies the workflow, many workflows must be created, edited and managed and this greatly increases the burden of the operation.